For a system of this type, recently, how to reduce TCO including not only the initial installation cost of printers and systems but also the cost of expendables such as coloring agents represented by toners and print paper sheets has received a great deal of attention from the viewpoint of cost reduction in offices or preservation of the global environment. The above-described TCO is short for Total Cost of Ownership.
As a conventional problem, anyone who can access a network can print using a printer installed in an office. Anyone can print without limitations and without leaving any traces. In addition, there is no psychological check imposed on the user, and printing is sometimes done more than necessary, resulting in an increase in cost for the office.
As a first measure against these problems, printing is restricted by address information such as an IP address in TCP/IP. As a second measure, many print systems are put into practical use to manage the number of printed pages by acquiring a print log. The former is a rough measure to impart a limitation on a specific IP address. Finer management by, e.g., limiting the number of output pages of a specific user is impossible. The latter method can leave a log of output. However, to make the administrator monitor each log and investigate the presence/absence of unauthorized printing, a high human cost is required, contrary to the purpose of TCO reduction.
To solve the above-described problems, a user limitation function that limits the output by each user has been proposed (e.g., patent reference 1: Japanese Patent Laid-Open No. 2003-150336).
FIG. 1 is a schematic view showing an arrangement to practice the conventionally proposed function of limiting the output by each user. Referring to FIG. 1, a user uses a host computer 101 to generate and print image data. An authentication server 102 holds the authentication information and output limitation information of each user. A printing apparatus 103 receives print data via a network and prints it on an actual print paper sheet using a known technique such as electrophotography or inkjet. The host computer 101, authentication server 102, and printing apparatus 103 connect to each other via a network 104 based on a known technique such as Ethernet®.
FIG. 2 is a view showing a database that stores the authentication information and limitation information of each user, which are held by the authentication server 102. Referring to FIG. 2, the rows indicate the entries of users, and the columns indicate the authentication information and limitation information of the users. Reference numeral 201 denotes a user name; 202, a password; 203, a maximum printable page count value assigned to each user for this month; and 204, a recorded page count value indicating the number of pages actually output by each user in this month.
The password 202 is a plaintext, for the sake of convenience. Actually, to prevent password leakage from the viewpoint of security, for example, only a one-way hash value of a plaintext is stored and compared with the hash value of an input password, thereby executing authentication. However, this is not the main basis of the present invention, and a detailed description thereof will be omitted.
Only the administrator can read/write-access the database from the viewpoint of security, as a matter of course.
A row 211 indicates the entry of a user named User1. The password has a character string “Akd5sj4f”. The maximum printable page count value is “500”. That is, the number of printable pages per month is limited to 500 for User1. The recorded page count value is updated by the printer when printing is actually executed. As is apparent, User1 has already printed “123” pages in this month.
Similarly, a row 212 defines User2, and a row 213 defines User3. A row 214 describes a guest user. In this case, no password is set. However, since the maximum printable page count value is “0”, the guest user cannot print. Whether a guest user is defined depends on the system policy. Such a user can be either present or absent.
Upon login to the host computer 101, the user inputs a user name and a password as authentication information. The authentication information is sent to the authentication server 102. The authentication server 102 collates the user name and password with the user name 201 and password 202 in the database. If authentication has proved successful, the host computer 101 is notified of the maximum printable page count value and recorded page count value.
For example, when the user is User1, and authentication has succeeded, maximum printable page count value=500 and recorded page count value=123 are returned as return values. In actually printing a job, the host computer 101 recognizes that 500−123=377 pages are printable in consideration of the maximum printable page count value=500 and recorded page count value=123. Printing is executed if the number of pages of the print job is 377 or less. If the number of pages of the print job is 400, i.e., exceeds the upper limit, a warning is issued to prompt the user to do an operation.
FIG. 3 shows the graphical user interface (GUI) of a dialogue displayed by a printer driver in printing from the host computer 101. Referring to FIG. 3, reference numeral 301 denotes a dialogue; 302, a button to execute printing; and 303, a cancel button. When the user presses the button 302, the host computer 101 degenerates the number of output pages of the print job to 377 and executes printing. Since the remaining 23 pages are not output at this time, it may be impossible to obtain the user's desired print result. When the user presses the button 303, the print request itself is canceled. Hence, no side effect occurs.
On the other hand, several solutions have been proposed to limit various functions provided by the printer driver. One of the function limitation techniques inhibits function selection on the print setting dialogue window of the printer driver (e.g., patent reference 2: Japanese Patent Laid-Open No. 2004-220532).
In recent years, the function of a printer driver is extended to provide various functions. For example, a print preview or a thumbnail image is displayed before actual printing of a print job input from an application. In addition, a function of, e.g., accepting a change in settings is provided.
When a print function limiting system is formed for such a recent printer driver, it is impossible to impose consistent limitations on print jobs without cooperation between the portion that limits the functions and the portion that executes the functions.
An example will be described below in detail. For example, examine a system which executes an NUP print function in a printer driver and executes 2-UP printing in response to a 1-UP print request to save the number of print paper sheets, thereby reducing the TCO.
Settings of a print job input to the printer driver are detected. If a 1-UP print instruction setting is received from the print application, the instruction setting is rewritten to 2-UP printing. This allows for, in a normal case, inhibition of 1-UP printing and forcible execution of 2-UP printing.
Assume that a job with a 2-UP print instruction setting is input to the printer driver. Even in this case, if the function of allowing reset in the printer driver, as described above, is valid, the resetting function is executed so that the NUP print setting can be reset to 1-UP printing.
In the 2-UP print process in the printer driver, an image formation process of laying out two pages with a reduced size in one page is executed. After this process, the page is printed by 1-UP printing. From the 2-UP printing unit, it is impossible to discriminate between a job that is input with a 1-UP print setting and a job which already forms a 2-UP image and executes 1-UP printing.
More specifically, assume that 1-UP printing should be limited. If a print job having a 2-UP print setting has passed the entrance of the printer driver, and then, the user changes the setting to 1-UP printing by the resetting function, 1-UP printing cannot be limited.